* {
  margin: 0;
  padding: 0;
}
body {
  background: #333;
  display: flex;
  width: 100%;
  height: 100vh;
  justify-content: center;
  align-items: center;
}
.main {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(-25%);
}
.main::after,
.main::before {
  content: "";
  width: 100px;
  height: 100px;
  box-sizing: border-box;
  border: 10px solid #57606f;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
}
.main::before {
  transform: translateX(calc(100% - 10px));
}
.main > div {
  position: absolute;
  width: 100px;
  height: 100px;
  clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
}
.main > div > div {
  width: 100px;
  height: 100px;
  box-sizing: border-box;
  border-style: solid;
  border-color: #2ed573 #2ed573 transparent transparent;
  border-width: 10px;
  border-radius: 50%;
  position: absolute;
  transform: rotate(135deg);
  animation: roll 4s linear infinite;
}
@keyframes roll {
  100%,
  50% {
    transform: rotate(495deg);
  }
}
.lb {
  transform: scale(-1, -1);
}
.rb {
  transform: translateX(calc(100% - 10px)) scale(1, -1);
}
.rt {
  transform: translateX(calc(100% - 10px)) scale(-1, 1);
}
.main > .rb > div {
  animation-delay: 1s;
}
.main > .rt > div {
  animation-delay: 2s;
}
.main > .lb > div {
  animation-delay: 3s;
}
